#include<iostream>
#include <vector>
using namespace std;

class Singleton
{
private:
	static std::vector<std::string> m_Type;
public:
	template<typename Type>
	static void RegistSingleton(Type _classType);
	template<typename Type>
	static void UnRegistSingleton(){};
};
std::vector<std::string> Singleton::m_Type;

template<typename Type>
void Singleton::RegistSingleton(Type _classType)
{
	m_Type.push_back(typeid(_classType).name());
}

class Sample
{
public:
	Sample(){}
	~Sample(){}
};

int main()
{
	Sample s;
	Singleton::RegistSingleton(s);
	Sample s1;
	return 0;
}
